package View;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import Controller.Sistema;
import Model.ClienteView;
import Model.LineaDisponibleView;
import Model.PlanView;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class AltaLineaAdicional extends javax.swing.JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JLabel lblNombreAdicional;
	private JTextField txtNombreAdicional;
	private JComboBox<LineaDisponibleView> cmbNumerosDisponibles;
	private JButton btnAceptar;
	private JButton btnCancelar;
	private JComboBox<PlanView> cmbPlanesDisponibles;
	private JLabel lblPlan;
	private JLabel lblNumeroLinea;
	private JFrame altaLineaAdicional;
	private ClienteView cliente;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				AltaLineaAdicional inst = new AltaLineaAdicional();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public AltaLineaAdicional() {
		super();
		initGUI();
		
	}
	
	public AltaLineaAdicional(ClienteView clienteSeleccionado) {
		super();
		cliente = clienteSeleccionado;
		altaLineaAdicional = this; 
		initGUI();
		
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			{
				lblNombreAdicional = new JLabel();
				getContentPane().add(lblNombreAdicional);
				lblNombreAdicional.setText("Nombre Adicional:");
				lblNombreAdicional.setBounds(12, 12, 118, 16);
			}
			{
				txtNombreAdicional = new JTextField();
				getContentPane().add(txtNombreAdicional);
				txtNombreAdicional.setBounds(142, 12, 230, 23);
			}
			{
				lblNumeroLinea = new JLabel();
				getContentPane().add(lblNumeroLinea);
				lblNumeroLinea.setText("Numero Linea");
				lblNumeroLinea.setBounds(12, 68, 106, 16);
			}
			{
				ComboBoxModel <LineaDisponibleView> cmbNumerosDisponiblesModel = 
						new DefaultComboBoxModel <LineaDisponibleView>(Sistema.getInstancia().getLineasDisponibles());
				cmbNumerosDisponibles = new JComboBox<LineaDisponibleView>();
				getContentPane().add(cmbNumerosDisponibles);
				cmbNumerosDisponibles.setModel(cmbNumerosDisponiblesModel);
				cmbNumerosDisponibles.setBounds(142, 65, 230, 23);
				
			}
			{
				btnAceptar = new JButton();
				getContentPane().add(btnAceptar);
				btnAceptar.setText("Alta");
				btnAceptar.setBounds(12, 208, 106, 23);
				btnAceptar.addActionListener(new ActionListener (){				
					public void actionPerformed(ActionEvent e) {
						Sistema.getInstancia().altaLineaAdicional(cliente.getDni(), ((LineaDisponibleView)cmbNumerosDisponibles.getSelectedItem()).getNumero() , txtNombreAdicional.getText(),((PlanView)cmbPlanesDisponibles.getSelectedItem()).getNroPlan());
						JOptionPane.showMessageDialog(btnAceptar, "Nueva linea dada de alta con exito.");
						altaLineaAdicional.dispose();
						
					}
					
				}
				);
			}
			{
				btnCancelar = new JButton();
				getContentPane().add(btnCancelar);
				btnCancelar.setText("Cancelar");
				btnCancelar.setBounds(250, 208, 122, 23);
				btnCancelar.addActionListener(new ActionListener() {									
					public void actionPerformed(ActionEvent e) {
						altaLineaAdicional.dispose();
						
					}
				});
			}
			{
				lblPlan = new JLabel();
				getContentPane().add(lblPlan);
				lblPlan.setText("Plan:");
				lblPlan.setBounds(12, 132, 106, 16);
			}
			{
				
				ComboBoxModel<PlanView> cmbPlanesDisponiblesModel = 
						new DefaultComboBoxModel<PlanView>(Sistema.getInstancia().getPlanesDisponibles());
				cmbPlanesDisponibles = new JComboBox<PlanView>();
				getContentPane().add(cmbPlanesDisponibles);
				cmbPlanesDisponibles.setModel(cmbPlanesDisponiblesModel);
				cmbPlanesDisponibles.setBounds(142, 125, 230, 23);
			}
			pack();
			setSize(400, 300);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
